[INFO] fetching crate kql-language-tools 0.1.0...
[INFO] testing kql-language-tools-0.1.0 against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065-1
[INFO] extracting crate kql-language-tools 0.1.0 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate kql-language-tools 0.1.0
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate kql-language-tools 0.1.0
[INFO] tweaked toml for crates.io crate kql-language-tools 0.1.0 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate kql-language-tools 0.1.0 on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate kql-language-tools 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 23f23bc5040a988207dbe94370b1bad4085f421637cc2bf5a39a379e3f55db28
[INFO] running `Command { std: "docker" "start" "-a" "23f23bc5040a988207dbe94370b1bad4085f421637cc2bf5a39a379e3f55db28", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "23f23bc5040a988207dbe94370b1bad4085f421637cc2bf5a39a379e3f55db28", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "23f23bc5040a988207dbe94370b1bad4085f421637cc2bf5a39a379e3f55db28", kill_on_drop: false }`
[INFO] [stdout] 23f23bc5040a988207dbe94370b1bad4085f421637cc2bf5a39a379e3f55db28
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3d0d54dfae78d25dff3ff4963f8268c8ddbed190e4e9b8fd73c9a2e1b6f35438
[INFO] running `Command { std: "docker" "start" "-a" "3d0d54dfae78d25dff3ff4963f8268c8ddbed190e4e9b8fd73c9a2e1b6f35438", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling kql-language-tools v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling libloading v0.8.9
[INFO] [stderr] warning: kql-language-tools@0.1.0: Native library not found, attempting to build...
[INFO] [stderr] warning: kql-language-tools@0.1.0: 
[INFO] [stderr] warning: kql-language-tools@0.1.0: =====================================================
[INFO] [stderr] warning: kql-language-tools@0.1.0: .NET SDK not found - cannot build native library
[INFO] [stderr] warning: kql-language-tools@0.1.0: =====================================================
[INFO] [stderr] warning: kql-language-tools@0.1.0: 
[INFO] [stderr] warning: kql-language-tools@0.1.0: The kql-language-tools crate requires a native library built from .NET.
[INFO] [stderr] warning: kql-language-tools@0.1.0: 
[INFO] [stderr] warning: kql-language-tools@0.1.0: Options:
[INFO] [stderr] warning: kql-language-tools@0.1.0: 
[INFO] [stderr] warning: kql-language-tools@0.1.0: 1. Install .NET 8.0+ SDK and rebuild:
[INFO] [stderr] warning: kql-language-tools@0.1.0:    - macOS: brew install dotnet
[INFO] [stderr] warning: kql-language-tools@0.1.0:    - Linux: https://docs.microsoft.com/dotnet/core/install/linux
[INFO] [stderr] warning: kql-language-tools@0.1.0:    - Windows: https://dotnet.microsoft.com/download
[INFO] [stderr] warning: kql-language-tools@0.1.0: 
[INFO] [stderr] warning: kql-language-tools@0.1.0: 2. Set KQL_LANGUAGE_TOOLS_PATH to a pre-built library:
[INFO] [stderr] warning: kql-language-tools@0.1.0:    export KQL_LANGUAGE_TOOLS_PATH=/path/to/KqlLanguageFfiNE.so
[INFO] [stderr] warning: kql-language-tools@0.1.0: 
[INFO] [stderr] warning: kql-language-tools@0.1.0: 3. Download pre-built binaries from releases (if available)
[INFO] [stderr] warning: kql-language-tools@0.1.0: 
[INFO] [stderr] warning: kql-language-tools@0.1.0: Target platform: linux-x64 (KqlLanguageFfiNE.so)
[INFO] [stderr] warning: kql-language-tools@0.1.0: =====================================================
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stdout] warning: implementation of an `unsafe` trait
[INFO] [stdout]    --> src/loader.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | unsafe impl Send for LoadedLibrary {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implementation of an `unsafe` trait
[INFO] [stdout]    --> src/loader.rs:186:1
[INFO] [stdout]     |
[INFO] [stdout] 186 | unsafe impl Sync for LoadedLibrary {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:199:13
[INFO] [stdout]     |
[INFO] [stdout] 199 |             unsafe { Library::new(path) }.map_err(|e| Error::library_load_failed(path, e))?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:208:31
[INFO] [stdout]     |
[INFO] [stdout] 208 |           let init: KqlInitFn = unsafe {
[INFO] [stdout]     |  _______________________________^
[INFO] [stdout] 209 | |             *library
[INFO] [stdout] 210 | |                 .get(symbols::KQL_INIT.as_bytes())
[INFO] [stdout] 211 | |                 .map_err(|_| Error::SymbolNotFound {
[INFO] [stdout] 212 | |                     symbol: symbols::KQL_INIT.to_string(),
[INFO] [stdout] 213 | |                 })?
[INFO] [stdout] 214 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:216:37
[INFO] [stdout]     |
[INFO] [stdout] 216 |           let cleanup: KqlCleanupFn = unsafe {
[INFO] [stdout]     |  _____________________________________^
[INFO] [stdout] 217 | |             *library
[INFO] [stdout] 218 | |                 .get(symbols::KQL_CLEANUP.as_bytes())
[INFO] [stdout] 219 | |                 .map_err(|_| Error::SymbolNotFound {
[INFO] [stdout] 220 | |                     symbol: symbols::KQL_CLEANUP.to_string(),
[INFO] [stdout] 221 | |                 })?
[INFO] [stdout] 222 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:224:52
[INFO] [stdout]     |
[INFO] [stdout] 224 |           let validate_syntax: KqlValidateSyntaxFn = unsafe {
[INFO] [stdout]     |  ____________________________________________________^
[INFO] [stdout] 225 | |             *library
[INFO] [stdout] 226 | |                 .get(symbols::KQL_VALIDATE_SYNTAX.as_bytes())
[INFO] [stdout] 227 | |                 .map_err(|_| Error::SymbolNotFound {
[INFO] [stdout] 228 | |                     symbol: symbols::KQL_VALIDATE_SYNTAX.to_string(),
[INFO] [stdout] 229 | |                 })?
[INFO] [stdout] 230 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:232:49
[INFO] [stdout]     |
[INFO] [stdout] 232 |           let get_last_error: KqlGetLastErrorFn = unsafe {
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 233 | |             *library
[INFO] [stdout] 234 | |                 .get(symbols::KQL_GET_LAST_ERROR.as_bytes())
[INFO] [stdout] 235 | |                 .map_err(|_| Error::SymbolNotFound {
[INFO] [stdout] 236 | |                     symbol: symbols::KQL_GET_LAST_ERROR.to_string(),
[INFO] [stdout] 237 | |                 })?
[INFO] [stdout] 238 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:241:69
[INFO] [stdout]     |
[INFO] [stdout] 241 |           let validate_with_schema: Option<KqlValidateWithSchemaFn> = unsafe {
[INFO] [stdout]     |  _____________________________________________________________________^
[INFO] [stdout] 242 | |             library
[INFO] [stdout] 243 | |                 .get(symbols::KQL_VALIDATE_WITH_SCHEMA.as_bytes())
[INFO] [stdout] 244 | |                 .ok()
[INFO] [stdout] 245 | |                 .map(|s| *s)
[INFO] [stdout] 246 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:248:60
[INFO] [stdout]     |
[INFO] [stdout] 248 |           let get_completions: Option<KqlGetCompletionsFn> = unsafe {
[INFO] [stdout]     |  ____________________________________________________________^
[INFO] [stdout] 249 | |             library
[INFO] [stdout] 250 | |                 .get(symbols::KQL_GET_COMPLETIONS.as_bytes())
[INFO] [stdout] 251 | |                 .ok()
[INFO] [stdout] 252 | |                 .map(|s| *s)
[INFO] [stdout] 253 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:255:68
[INFO] [stdout]     |
[INFO] [stdout] 255 |           let get_classifications: Option<KqlGetClassificationsFn> = unsafe {
[INFO] [stdout]     |  ____________________________________________________________________^
[INFO] [stdout] 256 | |             library
[INFO] [stdout] 257 | |                 .get(symbols::KQL_GET_CLASSIFICATIONS.as_bytes())
[INFO] [stdout] 258 | |                 .ok()
[INFO] [stdout] 259 | |                 .map(|s| *s)
[INFO] [stdout] 260 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:303:9
[INFO] [stdout]     |
[INFO] [stdout] 303 |         unsafe { (self.cleanup)() };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:413:22
[INFO] [stdout]     |
[INFO] [stdout] 413 |         let result = unsafe { (lib.init)() };
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:419:17
[INFO] [stdout]     |
[INFO] [stdout] 419 |                 unsafe { (lib.get_last_error)(error_buf.as_mut_ptr(), error_buf.len() as i32) };
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/validator.rs:94:13
[INFO] [stdout]     |
[INFO] [stdout]  94 | /             unsafe {
[INFO] [stdout]  95 | |                 (self.lib.validate_syntax)(
[INFO] [stdout]  96 | |                     query_bytes.as_ptr(),
[INFO] [stdout]  97 | |                     query_len,
[INFO] [stdout] ...   |
[INFO] [stdout] 101 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/validator.rs:152:13
[INFO] [stdout]     |
[INFO] [stdout] 152 | /             unsafe {
[INFO] [stdout] 153 | |                 validate_fn(
[INFO] [stdout] 154 | |                     query_bytes.as_ptr(),
[INFO] [stdout] 155 | |                     query_len,
[INFO] [stdout] ...   |
[INFO] [stdout] 161 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/validator.rs:218:13
[INFO] [stdout]     |
[INFO] [stdout] 218 | /             unsafe {
[INFO] [stdout] 219 | |                 classify_fn(
[INFO] [stdout] 220 | |                     query_bytes.as_ptr(),
[INFO] [stdout] 221 | |                     query_len,
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/validator.rs:272:13
[INFO] [stdout]     |
[INFO] [stdout] 272 | /             unsafe {
[INFO] [stdout] 273 | |                 let (schema_ptr, schema_len) = match &schema_json {
[INFO] [stdout] 274 | |                     Some(json) => (json.as_ptr(), json.len() as c_int),
[INFO] [stdout] 275 | |                     None => (std::ptr::null(), 0),
[INFO] [stdout] ...   |
[INFO] [stdout] 287 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/validator.rs:402:13
[INFO] [stdout]     |
[INFO] [stdout] 402 |             unsafe { (self.lib.get_last_error)(buffer.as_mut_ptr(), buffer.len() as c_int) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.25s
[INFO] running `Command { std: "docker" "inspect" "3d0d54dfae78d25dff3ff4963f8268c8ddbed190e4e9b8fd73c9a2e1b6f35438", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3d0d54dfae78d25dff3ff4963f8268c8ddbed190e4e9b8fd73c9a2e1b6f35438", kill_on_drop: false }`
[INFO] [stdout] 3d0d54dfae78d25dff3ff4963f8268c8ddbed190e4e9b8fd73c9a2e1b6f35438
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 16c1fd84f468e06f6d53252b00233481bda76c2306d9f5d1f60be8c7958168d7
[INFO] running `Command { std: "docker" "start" "-a" "16c1fd84f468e06f6d53252b00233481bda76c2306d9f5d1f60be8c7958168d7", kill_on_drop: false }`
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr] warning: kql-language-tools@0.1.0: Native library not found, attempting to build...
[INFO] [stderr] warning: kql-language-tools@0.1.0: 
[INFO] [stderr] warning: kql-language-tools@0.1.0: =====================================================
[INFO] [stderr] warning: kql-language-tools@0.1.0: .NET SDK not found - cannot build native library
[INFO] [stderr] warning: kql-language-tools@0.1.0: =====================================================
[INFO] [stderr] warning: kql-language-tools@0.1.0: 
[INFO] [stderr] warning: kql-language-tools@0.1.0: The kql-language-tools crate requires a native library built from .NET.
[INFO] [stderr] warning: kql-language-tools@0.1.0: 
[INFO] [stderr] warning: kql-language-tools@0.1.0: Options:
[INFO] [stderr] warning: kql-language-tools@0.1.0: 
[INFO] [stderr] warning: kql-language-tools@0.1.0: 1. Install .NET 8.0+ SDK and rebuild:
[INFO] [stderr] warning: kql-language-tools@0.1.0:    - macOS: brew install dotnet
[INFO] [stderr] warning: kql-language-tools@0.1.0:    - Linux: https://docs.microsoft.com/dotnet/core/install/linux
[INFO] [stderr] warning: kql-language-tools@0.1.0:    - Windows: https://dotnet.microsoft.com/download
[INFO] [stderr] warning: kql-language-tools@0.1.0: 
[INFO] [stderr] warning: kql-language-tools@0.1.0: 2. Set KQL_LANGUAGE_TOOLS_PATH to a pre-built library:
[INFO] [stderr] warning: kql-language-tools@0.1.0:    export KQL_LANGUAGE_TOOLS_PATH=/path/to/KqlLanguageFfiNE.so
[INFO] [stderr] warning: kql-language-tools@0.1.0: 
[INFO] [stderr] warning: kql-language-tools@0.1.0: 3. Download pre-built binaries from releases (if available)
[INFO] [stderr] warning: kql-language-tools@0.1.0: 
[INFO] [stderr] warning: kql-language-tools@0.1.0: Target platform: linux-x64 (KqlLanguageFfiNE.so)
[INFO] [stderr] warning: kql-language-tools@0.1.0: =====================================================
[INFO] [stderr]    Compiling jiff v0.2.16
[INFO] [stderr]    Compiling kql-language-tools v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: implementation of an `unsafe` trait
[INFO] [stdout]    --> src/loader.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | unsafe impl Send for LoadedLibrary {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implementation of an `unsafe` trait
[INFO] [stdout]    --> src/loader.rs:186:1
[INFO] [stdout]     |
[INFO] [stdout] 186 | unsafe impl Sync for LoadedLibrary {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:199:13
[INFO] [stdout]     |
[INFO] [stdout] 199 |             unsafe { Library::new(path) }.map_err(|e| Error::library_load_failed(path, e))?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:208:31
[INFO] [stdout]     |
[INFO] [stdout] 208 |           let init: KqlInitFn = unsafe {
[INFO] [stdout]     |  _______________________________^
[INFO] [stdout] 209 | |             *library
[INFO] [stdout] 210 | |                 .get(symbols::KQL_INIT.as_bytes())
[INFO] [stdout] 211 | |                 .map_err(|_| Error::SymbolNotFound {
[INFO] [stdout] 212 | |                     symbol: symbols::KQL_INIT.to_string(),
[INFO] [stdout] 213 | |                 })?
[INFO] [stdout] 214 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:216:37
[INFO] [stdout]     |
[INFO] [stdout] 216 |           let cleanup: KqlCleanupFn = unsafe {
[INFO] [stdout]     |  _____________________________________^
[INFO] [stdout] 217 | |             *library
[INFO] [stdout] 218 | |                 .get(symbols::KQL_CLEANUP.as_bytes())
[INFO] [stdout] 219 | |                 .map_err(|_| Error::SymbolNotFound {
[INFO] [stdout] 220 | |                     symbol: symbols::KQL_CLEANUP.to_string(),
[INFO] [stdout] 221 | |                 })?
[INFO] [stdout] 222 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:224:52
[INFO] [stdout]     |
[INFO] [stdout] 224 |           let validate_syntax: KqlValidateSyntaxFn = unsafe {
[INFO] [stdout]     |  ____________________________________________________^
[INFO] [stdout] 225 | |             *library
[INFO] [stdout] 226 | |                 .get(symbols::KQL_VALIDATE_SYNTAX.as_bytes())
[INFO] [stdout] 227 | |                 .map_err(|_| Error::SymbolNotFound {
[INFO] [stdout] 228 | |                     symbol: symbols::KQL_VALIDATE_SYNTAX.to_string(),
[INFO] [stdout] 229 | |                 })?
[INFO] [stdout] 230 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:232:49
[INFO] [stdout]     |
[INFO] [stdout] 232 |           let get_last_error: KqlGetLastErrorFn = unsafe {
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 233 | |             *library
[INFO] [stdout] 234 | |                 .get(symbols::KQL_GET_LAST_ERROR.as_bytes())
[INFO] [stdout] 235 | |                 .map_err(|_| Error::SymbolNotFound {
[INFO] [stdout] 236 | |                     symbol: symbols::KQL_GET_LAST_ERROR.to_string(),
[INFO] [stdout] 237 | |                 })?
[INFO] [stdout] 238 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:241:69
[INFO] [stdout]     |
[INFO] [stdout] 241 |           let validate_with_schema: Option<KqlValidateWithSchemaFn> = unsafe {
[INFO] [stdout]     |  _____________________________________________________________________^
[INFO] [stdout] 242 | |             library
[INFO] [stdout] 243 | |                 .get(symbols::KQL_VALIDATE_WITH_SCHEMA.as_bytes())
[INFO] [stdout] 244 | |                 .ok()
[INFO] [stdout] 245 | |                 .map(|s| *s)
[INFO] [stdout] 246 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:248:60
[INFO] [stdout]     |
[INFO] [stdout] 248 |           let get_completions: Option<KqlGetCompletionsFn> = unsafe {
[INFO] [stdout]     |  ____________________________________________________________^
[INFO] [stdout] 249 | |             library
[INFO] [stdout] 250 | |                 .get(symbols::KQL_GET_COMPLETIONS.as_bytes())
[INFO] [stdout] 251 | |                 .ok()
[INFO] [stdout] 252 | |                 .map(|s| *s)
[INFO] [stdout] 253 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:255:68
[INFO] [stdout]     |
[INFO] [stdout] 255 |           let get_classifications: Option<KqlGetClassificationsFn> = unsafe {
[INFO] [stdout]     |  ____________________________________________________________________^
[INFO] [stdout] 256 | |             library
[INFO] [stdout] 257 | |                 .get(symbols::KQL_GET_CLASSIFICATIONS.as_bytes())
[INFO] [stdout] 258 | |                 .ok()
[INFO] [stdout] 259 | |                 .map(|s| *s)
[INFO] [stdout] 260 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:303:9
[INFO] [stdout]     |
[INFO] [stdout] 303 |         unsafe { (self.cleanup)() };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:413:22
[INFO] [stdout]     |
[INFO] [stdout] 413 |         let result = unsafe { (lib.init)() };
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:419:17
[INFO] [stdout]     |
[INFO] [stdout] 419 |                 unsafe { (lib.get_last_error)(error_buf.as_mut_ptr(), error_buf.len() as i32) };
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/validator.rs:94:13
[INFO] [stdout]     |
[INFO] [stdout]  94 | /             unsafe {
[INFO] [stdout]  95 | |                 (self.lib.validate_syntax)(
[INFO] [stdout]  96 | |                     query_bytes.as_ptr(),
[INFO] [stdout]  97 | |                     query_len,
[INFO] [stdout] ...   |
[INFO] [stdout] 101 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/validator.rs:152:13
[INFO] [stdout]     |
[INFO] [stdout] 152 | /             unsafe {
[INFO] [stdout] 153 | |                 validate_fn(
[INFO] [stdout] 154 | |                     query_bytes.as_ptr(),
[INFO] [stdout] 155 | |                     query_len,
[INFO] [stdout] ...   |
[INFO] [stdout] 161 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/validator.rs:218:13
[INFO] [stdout]     |
[INFO] [stdout] 218 | /             unsafe {
[INFO] [stdout] 219 | |                 classify_fn(
[INFO] [stdout] 220 | |                     query_bytes.as_ptr(),
[INFO] [stdout] 221 | |                     query_len,
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/validator.rs:272:13
[INFO] [stdout]     |
[INFO] [stdout] 272 | /             unsafe {
[INFO] [stdout] 273 | |                 let (schema_ptr, schema_len) = match &schema_json {
[INFO] [stdout] 274 | |                     Some(json) => (json.as_ptr(), json.len() as c_int),
[INFO] [stdout] 275 | |                     None => (std::ptr::null(), 0),
[INFO] [stdout] ...   |
[INFO] [stdout] 287 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/validator.rs:402:13
[INFO] [stdout]     |
[INFO] [stdout] 402 |             unsafe { (self.lib.get_last_error)(buffer.as_mut_ptr(), buffer.len() as c_int) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling env_filter v0.1.4
[INFO] [stderr]    Compiling env_logger v0.11.8
[INFO] [stdout] warning: implementation of an `unsafe` trait
[INFO] [stdout]    --> src/loader.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | unsafe impl Send for LoadedLibrary {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W unsafe-code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implementation of an `unsafe` trait
[INFO] [stdout]    --> src/loader.rs:186:1
[INFO] [stdout]     |
[INFO] [stdout] 186 | unsafe impl Sync for LoadedLibrary {}
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:199:13
[INFO] [stdout]     |
[INFO] [stdout] 199 |             unsafe { Library::new(path) }.map_err(|e| Error::library_load_failed(path, e))?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:208:31
[INFO] [stdout]     |
[INFO] [stdout] 208 |           let init: KqlInitFn = unsafe {
[INFO] [stdout]     |  _______________________________^
[INFO] [stdout] 209 | |             *library
[INFO] [stdout] 210 | |                 .get(symbols::KQL_INIT.as_bytes())
[INFO] [stdout] 211 | |                 .map_err(|_| Error::SymbolNotFound {
[INFO] [stdout] 212 | |                     symbol: symbols::KQL_INIT.to_string(),
[INFO] [stdout] 213 | |                 })?
[INFO] [stdout] 214 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:216:37
[INFO] [stdout]     |
[INFO] [stdout] 216 |           let cleanup: KqlCleanupFn = unsafe {
[INFO] [stdout]     |  _____________________________________^
[INFO] [stdout] 217 | |             *library
[INFO] [stdout] 218 | |                 .get(symbols::KQL_CLEANUP.as_bytes())
[INFO] [stdout] 219 | |                 .map_err(|_| Error::SymbolNotFound {
[INFO] [stdout] 220 | |                     symbol: symbols::KQL_CLEANUP.to_string(),
[INFO] [stdout] 221 | |                 })?
[INFO] [stdout] 222 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:224:52
[INFO] [stdout]     |
[INFO] [stdout] 224 |           let validate_syntax: KqlValidateSyntaxFn = unsafe {
[INFO] [stdout]     |  ____________________________________________________^
[INFO] [stdout] 225 | |             *library
[INFO] [stdout] 226 | |                 .get(symbols::KQL_VALIDATE_SYNTAX.as_bytes())
[INFO] [stdout] 227 | |                 .map_err(|_| Error::SymbolNotFound {
[INFO] [stdout] 228 | |                     symbol: symbols::KQL_VALIDATE_SYNTAX.to_string(),
[INFO] [stdout] 229 | |                 })?
[INFO] [stdout] 230 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:232:49
[INFO] [stdout]     |
[INFO] [stdout] 232 |           let get_last_error: KqlGetLastErrorFn = unsafe {
[INFO] [stdout]     |  _________________________________________________^
[INFO] [stdout] 233 | |             *library
[INFO] [stdout] 234 | |                 .get(symbols::KQL_GET_LAST_ERROR.as_bytes())
[INFO] [stdout] 235 | |                 .map_err(|_| Error::SymbolNotFound {
[INFO] [stdout] 236 | |                     symbol: symbols::KQL_GET_LAST_ERROR.to_string(),
[INFO] [stdout] 237 | |                 })?
[INFO] [stdout] 238 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:241:69
[INFO] [stdout]     |
[INFO] [stdout] 241 |           let validate_with_schema: Option<KqlValidateWithSchemaFn> = unsafe {
[INFO] [stdout]     |  _____________________________________________________________________^
[INFO] [stdout] 242 | |             library
[INFO] [stdout] 243 | |                 .get(symbols::KQL_VALIDATE_WITH_SCHEMA.as_bytes())
[INFO] [stdout] 244 | |                 .ok()
[INFO] [stdout] 245 | |                 .map(|s| *s)
[INFO] [stdout] 246 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:248:60
[INFO] [stdout]     |
[INFO] [stdout] 248 |           let get_completions: Option<KqlGetCompletionsFn> = unsafe {
[INFO] [stdout]     |  ____________________________________________________________^
[INFO] [stdout] 249 | |             library
[INFO] [stdout] 250 | |                 .get(symbols::KQL_GET_COMPLETIONS.as_bytes())
[INFO] [stdout] 251 | |                 .ok()
[INFO] [stdout] 252 | |                 .map(|s| *s)
[INFO] [stdout] 253 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:255:68
[INFO] [stdout]     |
[INFO] [stdout] 255 |           let get_classifications: Option<KqlGetClassificationsFn> = unsafe {
[INFO] [stdout]     |  ____________________________________________________________________^
[INFO] [stdout] 256 | |             library
[INFO] [stdout] 257 | |                 .get(symbols::KQL_GET_CLASSIFICATIONS.as_bytes())
[INFO] [stdout] 258 | |                 .ok()
[INFO] [stdout] 259 | |                 .map(|s| *s)
[INFO] [stdout] 260 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:303:9
[INFO] [stdout]     |
[INFO] [stdout] 303 |         unsafe { (self.cleanup)() };
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:413:22
[INFO] [stdout]     |
[INFO] [stdout] 413 |         let result = unsafe { (lib.init)() };
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/loader.rs:419:17
[INFO] [stdout]     |
[INFO] [stdout] 419 |                 unsafe { (lib.get_last_error)(error_buf.as_mut_ptr(), error_buf.len() as i32) };
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/validator.rs:94:13
[INFO] [stdout]     |
[INFO] [stdout]  94 | /             unsafe {
[INFO] [stdout]  95 | |                 (self.lib.validate_syntax)(
[INFO] [stdout]  96 | |                     query_bytes.as_ptr(),
[INFO] [stdout]  97 | |                     query_len,
[INFO] [stdout] ...   |
[INFO] [stdout] 101 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/validator.rs:152:13
[INFO] [stdout]     |
[INFO] [stdout] 152 | /             unsafe {
[INFO] [stdout] 153 | |                 validate_fn(
[INFO] [stdout] 154 | |                     query_bytes.as_ptr(),
[INFO] [stdout] 155 | |                     query_len,
[INFO] [stdout] ...   |
[INFO] [stdout] 161 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/validator.rs:218:13
[INFO] [stdout]     |
[INFO] [stdout] 218 | /             unsafe {
[INFO] [stdout] 219 | |                 classify_fn(
[INFO] [stdout] 220 | |                     query_bytes.as_ptr(),
[INFO] [stdout] 221 | |                     query_len,
[INFO] [stdout] ...   |
[INFO] [stdout] 225 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/validator.rs:272:13
[INFO] [stdout]     |
[INFO] [stdout] 272 | /             unsafe {
[INFO] [stdout] 273 | |                 let (schema_ptr, schema_len) = match &schema_json {
[INFO] [stdout] 274 | |                     Some(json) => (json.as_ptr(), json.len() as c_int),
[INFO] [stdout] 275 | |                     None => (std::ptr::null(), 0),
[INFO] [stdout] ...   |
[INFO] [stdout] 287 | |             }
[INFO] [stdout]     | |_____________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of an `unsafe` block
[INFO] [stdout]    --> src/validator.rs:402:13
[INFO] [stdout]     |
[INFO] [stdout] 402 |             unsafe { (self.lib.get_last_error)(buffer.as_mut_ptr(), buffer.len() as c_int) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 22.65s
[INFO] running `Command { std: "docker" "inspect" "16c1fd84f468e06f6d53252b00233481bda76c2306d9f5d1f60be8c7958168d7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "16c1fd84f468e06f6d53252b00233481bda76c2306d9f5d1f60be8c7958168d7", kill_on_drop: false }`
[INFO] [stdout] 16c1fd84f468e06f6d53252b00233481bda76c2306d9f5d1f60be8c7958168d7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 1faf791562a345018ebfb2baa0ef74a656a1d10bc883ebdb5c1712b5574b955d
[INFO] running `Command { std: "docker" "start" "-a" "1faf791562a345018ebfb2baa0ef74a656a1d10bc883ebdb5c1712b5574b955d", kill_on_drop: false }`
[INFO] [stderr] warning: kql-language-tools@0.1.0: Native library not found, attempting to build...
[INFO] [stderr] warning: kql-language-tools@0.1.0: 
[INFO] [stderr] warning: kql-language-tools@0.1.0: =====================================================
[INFO] [stderr] warning: kql-language-tools@0.1.0: .NET SDK not found - cannot build native library
[INFO] [stderr] warning: kql-language-tools@0.1.0: =====================================================
[INFO] [stderr] warning: kql-language-tools@0.1.0: 
[INFO] [stderr] warning: kql-language-tools@0.1.0: The kql-language-tools crate requires a native library built from .NET.
[INFO] [stderr] warning: kql-language-tools@0.1.0: 
[INFO] [stderr] warning: kql-language-tools@0.1.0: Options:
[INFO] [stderr] warning: kql-language-tools@0.1.0: 
[INFO] [stderr] warning: kql-language-tools@0.1.0: 1. Install .NET 8.0+ SDK and rebuild:
[INFO] [stderr] warning: kql-language-tools@0.1.0:    - macOS: brew install dotnet
[INFO] [stderr] warning: kql-language-tools@0.1.0:    - Linux: https://docs.microsoft.com/dotnet/core/install/linux
[INFO] [stderr] warning: kql-language-tools@0.1.0:    - Windows: https://dotnet.microsoft.com/download
[INFO] [stderr] warning: kql-language-tools@0.1.0: 
[INFO] [stderr] warning: kql-language-tools@0.1.0: 2. Set KQL_LANGUAGE_TOOLS_PATH to a pre-built library:
[INFO] [stderr] warning: kql-language-tools@0.1.0:    export KQL_LANGUAGE_TOOLS_PATH=/path/to/KqlLanguageFfiNE.so
[INFO] [stderr] warning: kql-language-tools@0.1.0: 
[INFO] [stderr] warning: kql-language-tools@0.1.0: 3. Download pre-built binaries from releases (if available)
[INFO] [stderr] warning: kql-language-tools@0.1.0: 
[INFO] [stderr] warning: kql-language-tools@0.1.0: Target platform: linux-x64 (KqlLanguageFfiNE.so)
[INFO] [stderr] warning: kql-language-tools@0.1.0: =====================================================
[INFO] [stderr] warning: implementation of an `unsafe` trait
[INFO] [stderr]    --> src/loader.rs:178:1
[INFO] [stderr]     |
[INFO] [stderr] 178 | unsafe impl Send for LoadedLibrary {}
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: requested on the command line with `-W unsafe-code`
[INFO] [stderr] 
[INFO] [stderr] warning: implementation of an `unsafe` trait
[INFO] [stderr]    --> src/loader.rs:186:1
[INFO] [stderr]     |
[INFO] [stderr] 186 | unsafe impl Sync for LoadedLibrary {}
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]    --> src/loader.rs:199:13
[INFO] [stderr]     |
[INFO] [stderr] 199 |             unsafe { Library::new(path) }.map_err(|e| Error::library_load_failed(path, e))?;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]    --> src/loader.rs:208:31
[INFO] [stderr]     |
[INFO] [stderr] 208 |           let init: KqlInitFn = unsafe {
[INFO] [stderr]     |  _______________________________^
[INFO] [stderr] 209 | |             *library
[INFO] [stderr] 210 | |                 .get(symbols::KQL_INIT.as_bytes())
[INFO] [stderr] 211 | |                 .map_err(|_| Error::SymbolNotFound {
[INFO] [stderr] 212 | |                     symbol: symbols::KQL_INIT.to_string(),
[INFO] [stderr] 213 | |                 })?
[INFO] [stderr] 214 | |         };
[INFO] [stderr]     | |_________^
[INFO] [stderr] 
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]    --> src/loader.rs:216:37
[INFO] [stderr]     |
[INFO] [stderr] 216 |           let cleanup: KqlCleanupFn = unsafe {
[INFO] [stderr]     |  _____________________________________^
[INFO] [stderr] 217 | |             *library
[INFO] [stderr] 218 | |                 .get(symbols::KQL_CLEANUP.as_bytes())
[INFO] [stderr] 219 | |                 .map_err(|_| Error::SymbolNotFound {
[INFO] [stderr] 220 | |                     symbol: symbols::KQL_CLEANUP.to_string(),
[INFO] [stderr] 221 | |                 })?
[INFO] [stderr] 222 | |         };
[INFO] [stderr]     | |_________^
[INFO] [stderr] 
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]    --> src/loader.rs:224:52
[INFO] [stderr]     |
[INFO] [stderr] 224 |           let validate_syntax: KqlValidateSyntaxFn = unsafe {
[INFO] [stderr]     |  ____________________________________________________^
[INFO] [stderr] 225 | |             *library
[INFO] [stderr] 226 | |                 .get(symbols::KQL_VALIDATE_SYNTAX.as_bytes())
[INFO] [stderr] 227 | |                 .map_err(|_| Error::SymbolNotFound {
[INFO] [stderr] 228 | |                     symbol: symbols::KQL_VALIDATE_SYNTAX.to_string(),
[INFO] [stderr] 229 | |                 })?
[INFO] [stderr] 230 | |         };
[INFO] [stderr]     | |_________^
[INFO] [stderr] 
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]    --> src/loader.rs:232:49
[INFO] [stderr]     |
[INFO] [stderr] 232 |           let get_last_error: KqlGetLastErrorFn = unsafe {
[INFO] [stderr]     |  _________________________________________________^
[INFO] [stderr] 233 | |             *library
[INFO] [stderr] 234 | |                 .get(symbols::KQL_GET_LAST_ERROR.as_bytes())
[INFO] [stderr] 235 | |                 .map_err(|_| Error::SymbolNotFound {
[INFO] [stderr] 236 | |                     symbol: symbols::KQL_GET_LAST_ERROR.to_string(),
[INFO] [stderr] 237 | |                 })?
[INFO] [stderr] 238 | |         };
[INFO] [stderr]     | |_________^
[INFO] [stderr] 
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]    --> src/loader.rs:241:69
[INFO] [stderr]     |
[INFO] [stderr] 241 |           let validate_with_schema: Option<KqlValidateWithSchemaFn> = unsafe {
[INFO] [stderr]     |  _____________________________________________________________________^
[INFO] [stderr] 242 | |             library
[INFO] [stderr] 243 | |                 .get(symbols::KQL_VALIDATE_WITH_SCHEMA.as_bytes())
[INFO] [stderr] 244 | |                 .ok()
[INFO] [stderr] 245 | |                 .map(|s| *s)
[INFO] [stderr] 246 | |         };
[INFO] [stderr]     | |_________^
[INFO] [stderr] 
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]    --> src/loader.rs:248:60
[INFO] [stderr]     |
[INFO] [stderr] 248 |           let get_completions: Option<KqlGetCompletionsFn> = unsafe {
[INFO] [stderr]     |  ____________________________________________________________^
[INFO] [stderr] 249 | |             library
[INFO] [stderr] 250 | |                 .get(symbols::KQL_GET_COMPLETIONS.as_bytes())
[INFO] [stderr] 251 | |                 .ok()
[INFO] [stderr] 252 | |                 .map(|s| *s)
[INFO] [stderr] 253 | |         };
[INFO] [stderr]     | |_________^
[INFO] [stderr] 
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]    --> src/loader.rs:255:68
[INFO] [stderr]     |
[INFO] [stderr] 255 |           let get_classifications: Option<KqlGetClassificationsFn> = unsafe {
[INFO] [stderr]     |  ____________________________________________________________________^
[INFO] [stderr] 256 | |             library
[INFO] [stderr] 257 | |                 .get(symbols::KQL_GET_CLASSIFICATIONS.as_bytes())
[INFO] [stderr] 258 | |                 .ok()
[INFO] [stderr] 259 | |                 .map(|s| *s)
[INFO] [stderr] 260 | |         };
[INFO] [stderr]     | |_________^
[INFO] [stderr] 
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]    --> src/loader.rs:303:9
[INFO] [stderr]     |
[INFO] [stderr] 303 |         unsafe { (self.cleanup)() };
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]    --> src/loader.rs:413:22
[INFO] [stderr]     |
[INFO] [stderr] 413 |         let result = unsafe { (lib.init)() };
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]    --> src/loader.rs:419:17
[INFO] [stderr]     |
[INFO] [stderr] 419 |                 unsafe { (lib.get_last_error)(error_buf.as_mut_ptr(), error_buf.len() as i32) };
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]    --> src/validator.rs:94:13
[INFO] [stderr]     |
[INFO] [stderr]  94 | /             unsafe {
[INFO] [stderr]  95 | |                 (self.lib.validate_syntax)(
[INFO] [stderr]  96 | |                     query_bytes.as_ptr(),
[INFO] [stderr]  97 | |                     query_len,
[INFO] [stderr] ...   |
[INFO] [stderr] 101 | |             }
[INFO] [stderr]     | |_____________^
[INFO] [stderr] 
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]    --> src/validator.rs:152:13
[INFO] [stderr]     |
[INFO] [stderr] 152 | /             unsafe {
[INFO] [stderr] 153 | |                 validate_fn(
[INFO] [stderr] 154 | |                     query_bytes.as_ptr(),
[INFO] [stderr] 155 | |                     query_len,
[INFO] [stderr] ...   |
[INFO] [stderr] 161 | |             }
[INFO] [stderr]     | |_____________^
[INFO] [stderr] 
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]    --> src/validator.rs:218:13
[INFO] [stderr]     |
[INFO] [stderr] 218 | /             unsafe {
[INFO] [stderr] 219 | |                 classify_fn(
[INFO] [stderr] 220 | |                     query_bytes.as_ptr(),
[INFO] [stderr] 221 | |                     query_len,
[INFO] [stderr] ...   |
[INFO] [stderr] 225 | |             }
[INFO] [stderr]     | |_____________^
[INFO] [stderr] 
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]    --> src/validator.rs:272:13
[INFO] [stderr]     |
[INFO] [stderr] 272 | /             unsafe {
[INFO] [stderr] 273 | |                 let (schema_ptr, schema_len) = match &schema_json {
[INFO] [stderr] 274 | |                     Some(json) => (json.as_ptr(), json.len() as c_int),
[INFO] [stderr] 275 | |                     None => (std::ptr::null(), 0),
[INFO] [stderr] ...   |
[INFO] [stderr] 287 | |             }
[INFO] [stderr]     | |_____________^
[INFO] [stderr] 
[INFO] [stderr] warning: usage of an `unsafe` block
[INFO] [stderr]    --> src/validator.rs:402:13
[INFO] [stderr]     |
[INFO] [stderr] 402 |             unsafe { (self.lib.get_last_error)(buffer.as_mut_ptr(), buffer.len() as c_int) };
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `kql-language-tools` (lib) generated 18 warnings
[INFO] [stderr] warning: `kql-language-tools` (lib test) generated 18 warnings (18 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/kql_language_tools-96e63e514eefe0c6)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test loader::tests::test_current_rid ... ok
[INFO] [stdout] test validator::tests::test_get_classifications ... ignored, requires native library
[INFO] [stdout] test validator::tests::test_get_completions_after_pipe ... ignored, requires native library
[INFO] [stdout] test validator::tests::test_get_completions_with_schema ... ignored, requires native library
[INFO] [stdout] test validator::tests::test_validate_syntax_invalid ... ignored, requires native library
[INFO] [stdout] test loader::tests::test_searched_paths_not_empty ... ok
[INFO] [stdout] test schema::tests::test_schema_builder ... ok
[INFO] [stdout] test validator::tests::test_validate_syntax_valid ... ignored, requires native library
[INFO] [stdout] test validator::tests::test_validate_with_schema ... ignored, requires native library
[INFO] [stdout] test validator::tests::test_validate_with_schema_unknown_column ... ignored, requires native library
[INFO] [stderr]    Doc-tests kql_language_tools
[INFO] [stdout] test schema::tests::test_schema_serialization ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 7 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test src/validator.rs - validator::KqlValidator (line 20) - compile ... ok
[INFO] [stdout] test src/lib.rs - (line 16) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "1faf791562a345018ebfb2baa0ef74a656a1d10bc883ebdb5c1712b5574b955d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1faf791562a345018ebfb2baa0ef74a656a1d10bc883ebdb5c1712b5574b955d", kill_on_drop: false }`
[INFO] [stdout] 1faf791562a345018ebfb2baa0ef74a656a1d10bc883ebdb5c1712b5574b955d
